Depth-of-field rendering algorithms are used to simulate the blur created by a single-lens reflex (SLR) lens. The typical input to a depth-of-field rendering algorithm is an all-in-focus image and a depth map. Given new lens settings (e.g., focal depth and aperture), a depth-of-field rendering algorithm blurs the input image, where the amount of blur is guided by the depth values. Depth-of-field renderings are used in many graphics applications such as video games or image editing applications in order to add realistic blur to an original all-in-focus image, thus creating a more pleasing image. Such algorithms are very expensive to run, as they involve variable-size convolutions.